public OnPlayerCommandText(playerid, cmdtext[])
{
if((strcmp(cmd, "/givegun", true) == 0) && (IsPlayerAdmin(playerid)))
{
new tmp[256];
tmp = strtok(cmdtext, idx);
new gunID = strval(tmp);

if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_RED,"***: /givegun [gunID] [playerID]");
}
else
{
if(gunID > 46)
{
SendClientMessage(playerid,COLOR_RED,"***: ID    1  46");
}
else
{
tmp = strtok(cmdtext, idx);
new pID = strval(tmp);
new string[256];
if(strlen(tmp))
{
if(IsPlayerConnected(pID))
{
format(string, sizeof(string), "*** %s    - %s.", PlayerName(playerid), WeaponNAME(gunID));
SendClientMessage(pID,COLOR_WHITE, string);
GivePlayerWeapon(pID,gunID,3000);

format(string, sizeof(string), "***  %s  - %s.", PlayerName(pID), WeaponNAME(gunID));
SendClientMessage(playerid,COLOR_WHITE, string);
}
else
{
SendClientMessage(playerid,COLOR_WHITE, "***  .");
}
}
else
{
format(string, sizeof(string), "***    - %s.", WeaponNAME(gunID));
SendClientMessageToAll(COLOR_WHITE, string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
GivePlayerWeapon(i,gunID,3000);
}
}

}
}
return 1;
}

return 0;
}

public WeaponNAME(gunID)
{
new string[256];
GetWeaponName(gunID, string, 20);
return string;
}

public PlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}